SET SERVEROUTPUT ON;
create or replace trigger ENROLL_REQUEST
before insert or update of classNumber on revenroll
for each row
declare 
	numStu 	number;
	maxStu	number;
begin
	select 	maxEnroll into maxStu
	from	RevClass
	where	RevClass.classNumber =:NEW.classNumber;

	select 	currentEnroll +1 into numStu
	from	RevClass
	where  	RevClass.classNumber=:NEW.classNumber;

	
	if numStu > maxStu THEN
DBMS_OUTPUT.PUT_LINE('Student  ' || :NEW.stuId ||' has requested ' ||:NEW.classNumber ||' which currently has ' ||TO_CHAR(numstu)||' students and has a maximum enrollment of ' ||TO_CHAR(maxStu));

	end if;

exception
	when no_data_found then 
		DBMS_OUTPUT.PUT_LINE('No data found');
	when others then
		DBMS_OUTPUT.PUT_LINE('Error-' || SQLERRM);
end;
/

-- test the trigger

insert into RevEnroll values('S1001','MTH103C',null);